function selectFrom(lowerValue, upperValue) {
  let choices = upperValue - lowerValue + 1;
  return Math.floor(Math.random() * choices + lowerValue);
}

let num = selectFrom(2, 10);
console.log(num);
// 2~10 范围内的值，其中包含 2 ，也包含10，因为加了1

/*
 *Math.random() 方法返回一个 0~1 范围内的随机数，其中包含 0 但不包含 1。对于希望显示随机名
言或随机新闻的网页，这个方法是非常方便的。可以基于如下公式使用 Math.random() 从一组整数中
随机选择一个数：
number = Math.floor(Math.random() * total_number_of_choices + first_possible_value)
这里使用了 Math.floor() 方法，因为 Math.random() 始终返回小数，即便乘以一个数再加上一
个数也是小数。因此，如果想从 1~10 范围内随机选择一个数，代码就是这样的：
let num = Math.floor(Math.random() * 10 + 1);
这样就有 10 个可能的值（1~10），其中最小的值是 1。如果想选择一个 2~10 范围内的值，则代码就
要写成这样：
let num = Math.floor(Math.random() * 9 + 2);
 *
 * 
 * Math.floor() 方法始终向下舍入为最接近的整数。
 * 
 * Math.random() 不能提供像密码一样安全的随机数字。不要使用它们来处理有关安全的事情。
 * 使用Web Crypto API 来代替, 和更精确的window.crypto.getRandomValues() 方法.
 */
